home *** CD-ROM | disk | FTP | other *** search
/ PD ROM 1 / PD ROM Volume I - Macintosh Software from BMUG (1988).iso / Programming / FORTH Folder / Text files / EmPatches.4th next >
Encoding:
Text File  |  1984-07-23  |  2.1 KB  |  67 lines  |  [TEXT/ttxt]

  1. THE FOLLOWING PATCHES WILL FIX PROBLEMS FOUND IN THE TERMINAL EMULATOR
  2. SUPPLIED WITH MACFORTH 1.1 AND ALSO ADD THE FOLLOWING NEW FEATURES:
  3.  
  4. 1) EMULATOR WILL RUN IN FULL OR HALF DUPLEX MODE (DEFAULT IS FULL).
  5.    TYPE "FULL DUPLEX" OR "HALF DUPLEX" AT OK PROMPT BEFORE TYPING HOST.
  6. 2) OPT-B WILL SEND A BREAK.
  7. 3) OPT-BACKSPACE WILL SEND A DELETE (RUBOUT).
  8. 4) UNDERLINE CURSOR IS IMPLEMENTED.
  9.  
  10. DOES NOT FIX CURSOR FREEZE PROBLEM.
  11. THE FOLLOWING CHANGES CORRESPOND TO THE ORIGINAL SCREENS/LINES:
  12.  
  13. SCR #15
  14.  4 CREATE ECHO 0 ,  0 CONSTANT FULL  1 CONSTANT HALF
  15.  8 CREATE SERIAL.OPTIONS  HEX FFFF1113 , 000000FF , DECIMAL
  16.  
  17. SCR #16
  18. 11 : S.BREAK (  -- SEND BREAK )
  19. 12      0 0 12 SERIAL.OUT >FCB DEVICE.CONTROL
  20. 13      TICKCOUNT 6+ BEGIN DUP TICKCOUNT < UNTIL DROP
  21. 14      0 0 11 SERIAL.OUT >FCB DEVICE.CONTROL  ;
  22. 15 : DUPLEX ECHO !  ; ( FLAG -- SET ECHO )
  23.  
  24. SCR #17
  25.  8 : BACKSPACE (  --  )
  26.  9      DROP @PEN SWAP BL CHARWIDTH - SWAP
  27. 10      2DUP (MOVE.TO) BL DRAW.CHAR (MOVE.TO)  ;
  28. 11
  29. 12 : ECHO.SERIAL (  -- ECHO SERIAL INPUT TO CONSOLE SCREEN )
  30. 13      PAD S.?TERMINAL 2DUP S.EXPECT OVER + SWAP
  31. 14      DO IC@ 127 AND DUP 8 = IF BACKSPACE ELSE EMIT THEN
  32. 15      LOOP  ;
  33.  
  34. SCR #19
  35.  5   01130406 , 08071A18 , 03160002 , 11170512 ,
  36.  8   0000007F , 00000000 , 00000000 , 00000000 ,
  37. 12      IF DROP KEY.STROKE 6+ C@ 3F AND OPTION.KEYMAP + C@ THEN
  38.  
  39. SCR #20
  40.  1 : D_ (  -- DRAW/ERASE CURSOR )
  41.  2      6 0 (LINE) -6 0 (MOVE)  ;
  42.  3
  43.  4 : >HOST< ( ENTER HOST COMMUNICATION )
  44.  5      BEGIN
  45.  6         S.?TERMINAL
  46.  7            IF D_ ECHO.SERIAL D_ THEN
  47.  8         ?TERMINAL IF KEY.STROKE 7+ C@
  48.  9            MAP>OPTION KEY.STROKE OFF
  49. 10            DUP 126 = IF DROP EXIT THEN      ( <~>     QUIT  )
  50. 11            DUP   2 = IF DROP S.BREAK ELSE   ( <OPT-B> BREAK )
  51. 12               ECHO @ IF DUP DUP 8 =
  52. 13                  IF D_ BACKSPACE D_ ELSE D_ EMIT D_ THEN THEN
  53. 14               S.EMIT THEN THEN
  54. 15      AGAIN  ;
  55.  
  56. SCR #21
  57. 10      CR ." --ONLINE--" CR
  58. 11      PATXOR PENMODE D_
  59. 12         >HOST<
  60. 13      D_ PATCOPY PENMODE
  61. 14      CR ." --OFFLINE--" CR
  62. 15      TEXTMODE TEXTSIZE  ;
  63.  
  64.  
  65.           WILLIAM BOND 74435,160
  66.  
  67.